package com.dayou.mapper;

import com.dayou.bean.SysDept;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 达幽系统集成框架 - 部门 数据层
 * 
 * @author dayou
 * @date 2020-04-24
 */
public interface SysDeptMapper
{
	/**
     * 查询达幽系统集成框架 - 部门信息
     * 
     * @param id 达幽系统集成框架 - 部门ID
     * @return 达幽系统集成框架 - 部门信息
     */
	SysDept selectSysDeptById(Integer id);
	
	/**
     * 查询达幽系统集成框架 - 部门列表
     * 
     * @param sysDept 达幽系统集成框架 - 部门信息
     * @return 达幽系统集成框架 - 部门集合
     */
	List<SysDept> selectSysDeptList(SysDept sysDept);
	
	/**
     * 新增达幽系统集成框架 - 部门
     * 
     * @param sysDept 达幽系统集成框架 - 部门信息
     * @return 结果
     */
	int insertSysDept(SysDept sysDept);
	
	/**
     * 修改达幽系统集成框架 - 部门
     * 
     * @param sysDept 达幽系统集成框架 - 部门信息
     * @return 结果
     */
	int updateSysDept(SysDept sysDept);

	/**
	 * 伪删除达幽系统集成框架 - 部门
	 *
	 * @param id 达幽系统集成框架 - 部门ID
	 * @return 结果
	 */
	int fakeDeleteSysDeptById(@Param("id") Integer id, @Param("userId") Long userId);

	/**
	 * 批量伪删除达幽系统集成框架 - 部门
	 *
     * @param ids 需要删除的数据ID
     * @param userId 删除人ID
	 * @return 结果
	 */
	int fakeDeleteSysDeptByIds(String[] ids, @Param("userId") Long userId);

	/**
	 * 恢复达幽系统集成框架 - 部门
	 *
	 * @param id 达幽系统集成框架 - 部门ID
	 * @return 结果
	 */
	int resumeSysDeptById(Integer id);

	/**
	 * 批量恢复达幽系统集成框架 - 部门
	 *
	 * @param ids 需要恢复的数据ID
	 * @return 结果
	 */
	int resumeSysDeptByIds(String[] ids);
	/**
     * 删除达幽系统集成框架 - 部门
     * 
     * @param id 达幽系统集成框架 - 部门ID
     * @return 结果
     */
	int deleteSysDeptById(Integer id);
	
	/**
     * 批量删除达幽系统集成框架 - 部门
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	int deleteSysDeptByIds(String[] ids);
	
}